#include <iostream>

using namespace std;

class Human{
public:
	int age;
	virtual ~Human(){
		cout <<"Human is destroied" <<endl;
	}
};

class Chinese : public Human{
public:
	int province;
	~Chinese(){
		cout <<"Chinese is destroied" <<endl;
	}
};

class Point{
public:
	int _x, _y;

	Point(int x, int y): _x(x), _y(y){
	}

	Point & operator+ (const Point &p){
		int x, y;
		x = _x + p._x;
		y = _y + p._y;
		return Point(x, y);
	}
};
class CannotParent{
protected:	//private will not work
	CannotParent(){
		cout <<"This is parent" <<endl;
	};
public:
	int can;
};

class Child : public CannotParent{
public:
	Child(){
		cout <<"This is child" <<endl;
	}
};

int inheritTest(){
	/*
	Human * c = new Chinese();
	delete c;

	cout <<sizeof(Human) <<endl;
	cout <<sizeof(Chinese) <<endl;*/

	/*
	Point p1(2,3);
	Point p2(3,4);
	Point p3 = p1 + p2;
	cout <<p3._x << " " << p3._y <<endl; */
	Child c;

	cin.get();
	return 0;
}